Presun aplikacie do popredia

Otázka od: Martin Kasman

3. 12. 2003 12:25

Mam aplikaciu minimalizovanu do systray pomocou komponenty cooltray. Pokial
na nu dvakrat kliknem, tak sa okno obnovi ale pokial sa medzi tym spustil
iny program, tak bude moju aplikaciu prekryvat. Ako ju teda mam nasledne
presunut do popredia?
 Funkcia FormStyle:=fsStayOnTop mi nevyhovuje.

Vdaka za kazdu radu


Odpovedá: Martin Schayna

3. 12. 2003 13:03

Martin Kasman <martinkasman@martinkasman.sk> wrote:
> Mam aplikaciu minimalizovanu do systray pomocou komponenty cooltray.
> Pokial na nu dvakrat kliknem, tak sa okno obnovi ale pokial sa medzi
> tym spustil iny program, tak bude moju aplikaciu prekryvat. Ako ju
> teda mam nasledne presunut do popredia?
> Funkcia FormStyle:=fsStayOnTop mi nevyhovuje.
>
> Vdaka za kazdu radu

Uz jsem to dlouho nepouzil, kazdopadne to muzes vyzkouset:

function NxForceForegroundWindow(hWnd: THandle): BOOL;
var
  hCurWnd: THandle;
begin
  hCurWnd := GetForegroundWindow;
  AttachThreadInput(
    GetWindowThreadProcessId(hCurWnd, nil),
    GetCurrentThreadId, True);
  Result := SetForegroundWindow(hWnd);
  AttachThreadInput(
    GetWindowThreadProcessId(hCurWnd, nil),
    GetCurrentThreadId, False);
end;

Martin Schayna


Odpovedá: Jiri Hoffmayer

3. 12. 2003 12:59

>Ako ju teda mam nasledne presunut do popredia?

SetForegroundWindow(MujForm.Handle);

J.H.


Odpovedá: Jiri Virt

3. 12. 2003 12:48

Application.NormalizeTopMosts;

Jirka Virt